"""
创建生成器：
    列表推导式(x*3 for x in range(20))
    在函数中出现了关键字yield

得到生成器里面的元素用： next(), __next__()，每调用一次则会产生一个元素。yield的作用其实就是return+暂停**

注意如果我们要向生成器里面传值，就用seed() .seed()里面传递的是字符数。如果第一次启动生成器使用send方法，那么参数只能传入None,
一般第一次启动生成器使用next函数
"""

def func():
    i = 0
    while i < 5:
        temp = yield i
        print("temp",temp)   #如果我们要输入生成器，就要用send传值
        for x in temp: #这里的遍历多次是看send的字符个数
            print("----》",x)
        print("***********************")
        i+=1
    return "没有更多的元素了！！！"

s = func()
print(s.send(None))  #因为每一次还没有创建生成器，所以给它空值
print(s.send("2"))
print(s.send("123456")) #有几个seed就执行几次